\begin{tikzpicture}
  \tikzset{
    matrixstyle/.style={
      matrix of nodes, 
      nodes in empty cells, 
      matrix anchor=north west,
      minimum height=2em,
      nodes={anchor=west, }},
    matrix2style/.style={
        matrix of nodes, 
        nodes in empty cells, 
        matrix anchor=north west,
        nodes={anchor=west, minimum height=1em,text width=6em}},
    rightarrow/.style={
      red, draw, single arrow, thick, scale=0.5,
      text width=2em, 
      anchor=west, rotate=0, xshift=-2em},
  }
  \draw [dashed, red, rounded corners] (-1.5,0.5) rectangle (2.2,-0.8);
  \draw [dashed, blue, rounded corners] (-1.5,-1.2) rectangle (2.2,-8);
  \draw [red, rounded corners] (5,1) rectangle (7.5,-8);
  \node at (0,0) (n0) {如：$\text{if}(a>b) \enspace x=(a+b)*c;$};
  \node [anchor=west, draw=blue!15, rectangle callout, fill=red!15, callout absolute pointer={(7,-0.5)},text width=4em, rounded corners] at (7.5,0) {待返填1};
  \node [anchor=west, draw=blue!15, rectangle callout, fill=red!15, callout absolute pointer={(7,-3.5)},text width=4em, rounded corners] at (7.5,-2.5) {待返填2};
  \node [anchor=west, draw=blue!15, rectangle callout, fill=red!15, callout absolute pointer={(5.5,-4)},text width=5em, rounded corners] at (7.5,-5) {返填时机1};
  \node [anchor=west, draw=blue!15, rectangle callout, fill=red!15, callout absolute pointer={(5.5,-7.5)},text width=5em, rounded corners] at (7.5,-7) {返填时机2};
  \node [anchor=north west] at ([xshift=2em]n0.south west) (n1) {else $x=5-a*b$;};
  \matrix [matrixstyle, matrix anchor=north west] at ([xshift=1em, yshift=-2em]n0.south west) (m1)
  {
    &(1)(> $a\rm (y)$ $b\rm (y)$ $t_1\rm (y)$)\\
    &(2)(if $t_1\rm (n)$ \_ \_)\\
    &(3)(+ $a\rm (y)$ $b\rm (y)$ $t_2\rm (y)$)\\
    &(4)(* $t_2\rm (n)$ $c\rm (y)$ $x\rm (y)$)\\
    &(5)(el \_ \_ \_)\\
    &(6)(* $a\rm (y)$ $b\rm (y)$ $t_3\rm (y)$)\\
    &(7)(- 5 $t_3\rm (n)$ $x\rm (y)$)\\
    &(8)(ie \_ \_ \_)\\
    &\node[align=center]{\ldots};\\
  };
  \matrix [matrix2style,matrix anchor=north west] at (5,1) (m2)
  {
    \textcolor{blue}{\textcircled{\footnotesize 1}LD R, $a$}\\
    \textcolor{blue}{\textcircled{\footnotesize 2}GT R, $b$}\\
    \textcolor{red}{\textcircled{\footnotesize 3}FJ R, ?}\\
    \textcolor{brown}{\textcircled{\footnotesize 4}LD R, $a$}\\
    \textcolor{brown}{\textcircled{\footnotesize 5}ADD R, $b$}\\
    \textcircled{\footnotesize 6}MUL R, $c$\\
    \textcolor{red}{\textcircled{\footnotesize 7}ST R, $x$}\\
    \textcolor{red}{\textcircled{\footnotesize 8}JMP \_, ?}\\
    \textcolor{blue}{\textcircled{\footnotesize 9}LD R, $a$}\\
    \textcolor{blue}{\textcircled{\footnotesize 10}MUL R, $b$}\\
    \textcolor{brown}{\textcircled{\footnotesize 11}ST R, $t_3$}\\
    \textcolor{brown}{\textcircled{\footnotesize 12}LD, R, 5}\\
    \textcolor{brown}{\textcircled{\footnotesize 13}SUB R, $t_3$}\\
    \textcolor{red}{\textcircled{\footnotesize 14}ST R, $x$}\\
    \textcolor{blue}{\textcircled{\footnotesize 15}}\\
  };
  \node [rightarrow] at (m1-1-1.west) {};
  \node [rightarrow] at (m1-2-1.west) {};
  \node [rightarrow] at (m1-3-1.west) {};
  \node [rightarrow] at (m1-4-1.west) {};
  \node [rightarrow] at (m1-5-1.west) {};
  \node [rightarrow] at (m1-6-1.west) {};
  \node [rightarrow] at (m1-7-1.west) {};
  \node [rightarrow] at (m1-8-1.west) {};
  \node [draw=red!50, thick, rounded corners, fill=red!15, text width=1em] at (3.5,-4) {※人工翻译过程};
  \draw [decorate,decoration={brace,raise=5pt,mirror},thick,blue] (m2-1-1.north west) -- (m2-2-1.south west);
  \draw [decorate,decoration={brace,raise=5pt,mirror},thick,red] (m2-3-1.north west) -- (m2-3-1.south west);
  \draw [decorate,decoration={brace,raise=5pt,mirror},thick,brown] (m2-4-1.north west) -- (m2-5-1.south west);
  \draw [decorate,decoration={brace,raise=5pt,mirror},thick] (m2-6-1.north west) -- (m2-6-1.south west);
  \draw [decorate,decoration={brace,raise=5pt,mirror},thick,red] (m2-7-1.north west) -- (m2-8-1.south west);
  \draw [decorate,decoration={brace,raise=5pt,mirror},thick,blue] (m2-9-1.north west) -- (m2-10-1.south west);
  \draw [decorate,decoration={brace,raise=5pt,mirror},thick,brown] (m2-11-1.north west) -- (m2-13-1.south west);
  \draw [decorate,decoration={brace,raise=5pt,mirror},thick,red] (m2-14-1.north west) -- (m2-14-1.south west);
  \draw [-Latex,blue] (m1-1-2.east) to ([xshift=-0.6em,yshift=0.1em]m2-1-1.south west);
  \draw [-Latex,red] ([xshift=2em]m1-2-2.east) to ([xshift=-0.6em,yshift=0em]m2-3-1.west);
  \draw [-Latex,brown] (m1-3-2.east) to ([xshift=-0.6em,yshift=0.1em]m2-4-1.south west);
  \draw [-Latex] (m1-4-2.east) to ([xshift=-0.6em,yshift=0em]m2-6-1.west);
  \draw [-Latex,red] ([xshift=3.5em]m1-5-2.east) to ([xshift=-0.6em,yshift=0.1em]m2-7-1.south west);
  \draw [-Latex,blue] (m1-6-2.east) to ([xshift=-0.6em,yshift=0.1em]m2-9-1.south west);
  \draw [-Latex,brown] ([xshift=1.45em]m1-7-2.east) to ([xshift=-0.6em,yshift=0.1em]m2-12-1.west);
  \draw [-Latex,red] ([xshift=3.5em]m1-8-2.east) to ([xshift=-0.6em,yshift=0.1em]m2-14-1.west);
  \node [blue] at ([xshift=-2em]m2-3-1.east) (n9) {\textcircled{\footnotesize 9}};
  \node [blue] at ([xshift=-1em]m2-8-1.east) (n15) {\textcircled{\footnotesize 15}};
  \draw [->,dashed,blue,thick] (n9) [out=-70, in=45] to ([xshift=1.2em]m2-9-1.west);
  \draw [->,dashed,red,thick] (n15) [out=-70, in=45] to ([xshift=1.2em]m2-15-1.west);
\end{tikzpicture}